In the context of computer graphics, images may be described in a variety of different formats. For instance, images may be described according to vector graphics, which involves using shapes such as polygons to represent the images. In contrast, raster images are described with reference to a grid of pixels or points of color. These different types of image formats may be rendered for display according to specific rendering workflows. In general, these workflows are designed to render images at suitable frame rates. In connection with a drawing application, for instance, the suitable frame rate may be relatively high so that when a user modifies an image, the modifications can be displayed substantially in real-time, e.g., as the user makes the modifications. As more content becomes digitized (e.g., due to content creators creating visual works using drawing applications rather than physical mediums, conversion of physical works to digital versions, and so on) and as display densities continue to increase (e.g., by filling a same area of a display device with increasingly more pixels), the ability to render images at suitable frame rates may become paramount.
Some conventional rendering workflows for rendering vector graphics images involve traversing a graphic tree representative of the images. These trees may include graphic groups and graphic leafs, where each leaf represents an object such as a path, text, or a shape, and where each graphic group is a logical grouping of graphic leafs and may define attributes such as transparency, clipping, blending, and so forth. Conventional vector-graphic rendering workflows can involve reducing the number of graphic leafs corresponding to an image by combining batches of similar graphic leafs (e.g., those that represent opaque and constant-colored paths) into a single, batch leaf. Batching in this way may be effective to reduce an execution time for a graphics processing unit (GPU) employed to render the image. Nonetheless, other portions of these conventional rendering workflows may consume significant computing resources, e.g., in terms of processing time and memory. This can hamper the ability of images to be rendered at a suitable frame rate for some applications.